package com.xmy.cultivate.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.web.multipart.MultipartFile;


/**
 * <p>
 * 招聘信息
 * </p>
 *
 * @author hpiggy
 * @since 2024-11-22
 */
@TableName("adms_recruit")
@ApiModel(value = "Recruit对象", description = "招聘信息")
@Data
public class Recruit implements Serializable {

    private static final long serialVersionUID = 1L;
    private Integer yearPart;
    private Integer quarterNum;
    private Long id;
    @ApiModelProperty("头像")
    private String headImage;
    @ApiModelProperty("姓名")
    private String name;
    @ApiModelProperty("手机号")
    private String phone;
    @ApiModelProperty("年龄")
    private Integer age;
    @ApiModelProperty("婚姻")
    private Integer marriage;
    @ApiModelProperty("意向招聘岗位id")
    private Long stationNeedsId;

    @ApiModelProperty("学历")
    private Integer education;

    @ApiModelProperty("学校名称")
    private String schoolName;

    @ApiModelProperty("专业")
    private String major;




    @ApiModelProperty("系统是否通过，1是，0否")
    private Integer systemIsPass;

    @ApiModelProperty("0未处理，1符合，2不符合")
    private Integer status;

    @ApiModelProperty("0未邀约，1已邀约，2中止")
    private Integer resultStatus;

    @ApiModelProperty("1约面试，2拒面试")
    private Integer interviewStatus;

    @ApiModelProperty("拒绝原因")
    private String turnDownContent;

    @ApiModelProperty("面试邀约时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    private LocalDateTime inviteDateTime;

    @ApiModelProperty("0未到，1已到")
    private Integer isArrive;

    @ApiModelProperty("0未点评，1通过，2未通过")
    private Integer passType;

    @ApiModelProperty("邀约人id")
    private Long inviterId;

    @ApiModelProperty("岗位意向")
    private String stations;

    @ApiModelProperty("评语")
    private String comment;

    @ApiModelProperty("0未评语 1已评语")
    private Integer isComment;

    @ApiModelProperty("0未放弃  1已放弃")
    private Integer isGiveUp;

    @ApiModelProperty("试岗自弃原因")
    private String giveUpContent;

    @ApiModelProperty("放弃试岗操作时间")
    private LocalDateTime giveUpTime;

    @ApiModelProperty("简历文件路径")
    private String recruitFileUrl;

    @ApiModelProperty("1为pdf,  2为word，3为图片")
    private Integer recruitFileType;

    @ApiModelProperty("1求职者录入,2手动录入")
    private Integer enterType;

    @ApiModelProperty("后台录入-岗位id")
    private Long stationsId;
//    @TableField(exist = false)
//    private RecruitCertificate recruitCertificate;
    @TableField(exist = false)
    @ApiModelProperty("省份")
    private String provinceName;

    @TableField(exist = false)
    @ApiModelProperty("简历筛选人")
    private String auditName;

    @TableField(exist = false)
    @ApiModelProperty("城市")
    private String cityName;

    @TableField(exist = false)
    @ApiModelProperty("市县")
    private String countyName;

    @ApiModelProperty("省id")
    private Long provinceId;

    @ApiModelProperty("县id")
    private Long countyId;

    @ApiModelProperty("市id")
    private Long cityId;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createdAt;

    @ApiModelProperty("0未邀约，1已邀约，2中止 3已到")
    @TableField(exist = false)
    private Integer multiState;

    @TableField(exist = false)
    @ApiModelProperty("工作经历")
    private String experience;

    @TableField(exist = false)
    @ApiModelProperty("证书")
    private String certificate;

    @TableField(exist = false)
    @ApiModelProperty("证书图片")
    private List<RecruitImage>  recruitImageList;

    @TableField(exist = false)
    @ApiModelProperty("邀约人")
    private String invitationName;

    @TableField(exist = false)
    @ApiModelProperty("面试官")
    private String estimate;

    @ApiModelProperty("点评打分")
    private Integer score;

    @ApiModelProperty("点评人id")
    private Long estimateId;

    @ApiModelProperty("点评时间")
    private LocalDateTime estimateTime;

    @ApiModelProperty("判定是否通过时间")
    private LocalDateTime isPassTime;

    @TableField(exist = false)
    @ApiModelProperty("证书图片")
    private String certificateImage;

    @TableField(exist = false)
    @ApiModelProperty("分配 0 未分配  1已分配")
    private Integer isAllocate;

    @TableField(exist = false)
    @ApiModelProperty("试岗时间")
    private LocalDate tryDate;

    @TableField(exist = false)
    @ApiModelProperty("试岗是否通过时间")
    private LocalDateTime tryAuditDate;


    @ApiModelProperty("区域id")
    private Long areaId;

    @ApiModelProperty("0未判定 1通过 2未通过")
    private Integer determineStatus;

    @TableField(exist = false)
    @ApiModelProperty("区域")
    private String areaName;


    @TableField(exist = false)
    @ApiModelProperty("最高记录时间")
    private LocalDate maxDate;

    @TableField(exist = false)
    @ApiModelProperty("岗位")
    private String stationName;

    @TableField(exist = false)
    @ApiModelProperty("未到岗时间")
    private LocalDateTime notArriveDate;

}
